package com.jyw.business.obstacles.service;

import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jyw.business.obstacles.domain.ObsOrderFault;
import com.jyw.business.obstacles.domain.ObsOrderSend;
import com.jyw.business.obstacles.domain.vo.wechat.WxWorkOrderSendVO;

/**
 * 报障-派单记录Service接口
 * 
 * @author system
 * @date 2023-08-11
 */
public interface IObsOrderSendService extends IService<ObsOrderSend>
{
    /**
     * 查询报障-派单记录
     * 
     * @param id 报障-派单记录主键
     * @return 报障-派单记录
     */
    public ObsOrderSend selectObsOrderSendById(Long id);

    /**
     * 查询报障-派单记录列表
     * 
     * @param obsOrderSend 报障-派单记录
     * @return 报障-派单记录集合
     */
    public List<ObsOrderSend> selectObsOrderSendList(ObsOrderSend obsOrderSend);

    /**
     * 新增报障-派单记录
     * 
     * @param obsOrderSend 报障-派单记录
     * @return 结果
     */
    public int insertObsOrderSend(ObsOrderSend obsOrderSend);

    /**
     * 修改报障-派单记录
     * 
     * @param obsOrderSend 报障-派单记录
     * @return 结果
     */
    public int updateObsOrderSend(ObsOrderSend obsOrderSend);

    /**
     * 批量删除报障-派单记录
     * 
     * @param ids 需要删除的报障-派单记录主键集合
     * @return 结果
     */
    public int deleteObsOrderSendByIds(Long[] ids);

    /**
     * 删除报障-派单记录信息
     * 
     * @param id 报障-派单记录主键
     * @return 结果
     */
    public int deleteObsOrderSendById(Long id);

    /**
     * 判断用户是否是该工单的接单人员
     * @param orderNum
     * @param userId
     * @return
     */
    public boolean isMakeUser(String orderNum,Long userId);

    /**
     * 查询工单派单信息
     *
     * @param orderNum
     * @return
     */
    List<WxWorkOrderSendVO> queryOrderSendList(String orderNum);

    /**
     * 查询超时的工单信息
     * @param timeOutDate
     * @return
     */
    List<ObsOrderFault> listTimeOut(Date timeOutDate);
}
